package ynu.edu.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import ynu.edu.entity.CartEntity;

import java.util.List;
import java.util.Optional;

/**
 * 购物车存储库
 */
@Repository
public interface CartRepository extends JpaRepository<CartEntity, Integer> {
    
    /**
     * 根据用户ID查询购物车列表
     */
    List<CartEntity> findByUserId(String userId);
    
    /**
     * 根据用户ID和商家ID查询购物车列表
     */
    List<CartEntity> findByUserIdAndBusinessId(String userId, Integer businessId);
    
    /**
     * 根据用户ID、食品ID和商家ID查询购物车项，用于检查购物车中是否已存在该商品
     */
    Optional<CartEntity> findByUserIdAndFoodIdAndBusinessId(String userId, Integer foodId, Integer businessId);
    
    /**
     * 根据用户ID和商家ID删除购物车项
     */
    void deleteByUserIdAndBusinessId(String userId, Integer businessId);
    
    /**
     * 根据用户ID删除购物车项
     */
    void deleteByUserId(String userId);
    
    /**
     * 根据购物车ID列表删除购物车项
     */
    void deleteByCartIdIn(List<Integer> cartIds);
} 